package com.translate.web.constant;

public enum UserStatus {
	// 使用数字作为枚举的顺序，并添加描述信息
	CANCELLED((byte) -1, "已取消"), // 用户取消了订单或操作
	PENDING_QUOTE((byte) 0, "待报价"), // 等待生成报价
	QUOTED((byte) 1, "已报价"), // 已经为用户提供了报价
	PENDING_PAYMENT((byte) 2, "待支付"), // 用户需要完成支付
	PENDING_CONFIRMATION((byte) 3, "待确认"), // 等待用户或系统确认
	PROCESSING((byte) 4, "处理中"), // 订单或请求正在处理中
	RETURNED((byte) 5, "已返稿"), // 文档或稿件已返回给用户
	PENDING_APPROVAL((byte) 6, "待审核"), // 等待审核人员的批准
	REJECTED((byte) 7, "未通过"), // 审核未通过或被拒绝
	COMPLETED((byte) 8, "已完成"), // 订单或任务已完成
	CREATED_ORDER((byte) 9, "创建订单"), // 新订单已创建，但尚未进入其他流程

	AFTER_SALES((byte) 10, "售后"), // 新订单已创建，但尚未进入其他流程

	FEEDBACK((byte) 11, "反馈"), // 新订单已创建，但尚未进入其他流程

	CANCEL_AFTER_SALES((byte) 12, "取消售后"), // 新订单已创建，但尚未进入其他流程

	CANCEL_FEEDBACK((byte) 13, "取消反馈"), // 新订单已创建，但尚未进入其他流程

	IMMEDIATE_PAYMENT((byte) 14, "立即支付"),
	CHANGE_PAYMENT_PAID((byte) 15, "变更支付：已支付"),
	CHANGE_PAYMENT_UNPAID((byte) 16, "变更支付:未支付");

	private final byte statusCode; // 状态码
	private final String description; // 状态的描述信息

	// 构造方法，初始化状态码和描述信息
	UserStatus(byte statusCode, String description) {
		this.statusCode = statusCode;
		this.description = description;
	}

	// 获取状态码的方法
	public byte getStatusCode() {
		return statusCode;
	}

	// 获取描述信息的方法
	public String getDescription() {
		return description;
	}
}
